package com.tianheng.wanzhou.datacollecting.db.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author yjw
 * @since 2020-06-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("air_compressor_luogan")
public class AirCompressorLuogan extends Model<AirCompressorLuogan> {

    private static final long serialVersionUID = 1L;

    @TableId("machine_ip")
    private String machineIp;

    /**
     * 机器编号
     */
    @TableField("machine_id")
    private String machineId;

    /**
     * 公司
     */
    private Integer company;

    /**
     * 车间
     */
    private Integer workshop;

    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private String updateTime;

    /**
     * 排气压力(0.01Mpa)
     */
    @TableField("discharge_pressure")
    private Double dischargePressure;

    /**
     * 排气温度(0.1 ℃)
     */
    @TableField("discharge_temperature")
    private Double dischargeTemperature;

    /**
     * 运行时间(hour)
     */
    private Integer runtime;

    /**
     * 加载时间(hour)
     */
    @TableField("loading_time")
    private Integer loadingTime;

    /**
     * 电机电流(0.1A)
     */
    @TableField("motor_amps")
    private Double motorAmps;

    /**
     * 油气桶压力(0.01Mpa)
     */
    @TableField("oil_gas_barrel_pressure")
    private Double oilGasBarrelPressure;

    /**
     * 油气桶温度(0.1℃)
     */
    @TableField("oil_gas_barrel_temperature")
    private Double oilGasBarrelTemperature;

    /**
     * 加载信号
     */
    @TableField("loading_signal")
    private Integer loadingSignal;

    /**
     * 运行信号
     */
    @TableField("operation_signal")
    private Integer operationSignal;

    /**
     * 远控信号
     */
    @TableField("remote_control_signal")
    private Integer remoteControlSignal;

    /**
     * 排气高温
     */
    @TableField("discharge_high_temperature")
    private Integer dischargeHighTemperature;

    /**
     * 相序错误(高压柜故障)
     */
    @TableField("phase_sequence_error")
    private Integer phaseSequenceError;

    /**
     * 主机过载
     */
    @TableField("host_overload")
    private Integer hostOverload;

    /**
     * 空滤故障
     */
    @TableField("air_filter_failure")
    private Integer airFilterFailure;

    /**
     * 油细故障
     */
    @TableField("oil_fine_fault")
    private Integer oilFineFault;

    /**
     * 油滤故障
     */
    @TableField("oil_filter_failure")
    private Integer oilFilterFailure;

    /**
     * 风机故障
     */
    @TableField("fan_overload")
    private Integer fanOverload;

    /**
     * 传感器故障
     */
    @TableField("sensor_fault")
    private Integer sensorFault;

    /**
     * 油压报警
     */
    @TableField("oil_pressure_alarm")
    private Integer oilPressureAlarm;

    /**
     * 主接触器反馈故障
     */
    @TableField("main_contactor_feedback_fault")
    private Integer mainContactorFeedbackFault;

    /**
     * 风机反馈故障
     */
    @TableField("fan_feedback_fault")
    private Integer fanFeedbackFault;

    /**
     * 压力异常
     */
    @TableField("abnormal_pressure")
    private Integer abnormalPressure;

    /**
     * 空车过久
     */
    @TableField("too_many_empty_cars")
    private Integer tooManyEmptyCars;

    /**
     * 重故障
     */
    @TableField("heavy_fail")
    private Integer heavyFail;

    /**
     * 轻故障
     */
    @TableField("minor_fail")
    private Integer minorFail;

    /**
     * 电源
     */
    private Integer power;

    /**
     * 急停中间
     */
    @TableField("middle_stop")
    private Integer middleStop;

    /**
     * 远程启动(脉冲)
     */
    @TableField("remote_start")
    private Integer remoteStart;

    /**
     * 远程停止(脉冲)
     */
    @TableField("remote_stop")
    private Integer remoteStop;

    /**
     * 强制卸载
     */
    @TableField("forced_uninstall")
    private Integer forcedUninstall;

    @Override
    protected Serializable pkVal() {
        return this.machineIp;
    }

}
